
import matplotlib.pyplot as plt
import numpy as np

# 基础向量
v1 = np.array([1, 1])
v2 = np.array([1, -1])

# 系数设置
a = 2
b = 1.5

# 线性组合
combo = a * v1 + b * v2

plt.figure(figsize=(6, 6))
plt.axhline(0, color='gray', lw=0.5)
plt.axvline(0, color='gray', lw=0.5)
plt.grid()

# 绘制向量
plt.quiver(0, 0, v1[0], v1[1], color='blue', angles='xy', scale_units='xy', scale=1, label='v1')
plt.quiver(0, 0, v2[0], v2[1], color='green', angles='xy', scale_units='xy', scale=1, label='v2')
plt.quiver(0, 0, combo[0], combo[1], color='red', angles='xy', scale_units='xy', scale=1, label='a*v1 + b*v2')

plt.xlim(-2, 5)
plt.ylim(-2, 5)
plt.gca().set_aspect('equal')
plt.legend()
plt.title(f"线性组合: {a}·v1 + {b}·v2")
plt.show()

